本文为课程项目:“COVID-19 的分类和鉴别”做出的准备工作。由于做的工作类型相似,所以做一篇阅读笔记便于参考。

1. 简介

现有的众多方法:

  • SVM
  • Backpropagation Network
  • CNN,作为医学领域最为出众的模型
  • Transfer learning。这个方法简单迅速
    • 精调(fine-tune):三类精调:只训练分类层;训练所有参数;训练直到大提升

类分解用来加强低方差的分类器,使在分类边界上更灵活。经常这个方法被用在预处理中提高模型的表现。在医学分析中,类分解经常被用来提高类似随机森林等的分类表现。

这篇文章使用基于类分解的 CNN 网络,并使用迁移学习方法。对于原数据集中的类,先将其分解为几个完全视为独立的子类,然后对这些子类进行分类,最后组合在一起获得预测结果。

2. 相关工作

  • 使用基于 CNN 的感知网络检测 COVID-19。
  • 使用 ResNet 预训的网络分类 CT 图像。
  • ImageNet 预训的网络分类 X-ray 抽取特征,然后放入 SVM 中进行分类。
  • 基于 Transfer Learning 的分类方法,分类 CXR 图像。分为四类:正常、细菌感染、non-COVID、non-COVID 且感染。

作者认为前面的成果没有讨论数据集的不规则性。这篇文章就讲关注数据的不规则性。

3. $DeTraC$ 模型

这个部分讨论整个训练方法的细节。

3.1 Overview

整个模型分为三个部分:

  • 训练从$DeTraC$抽离出的预训的 CNN 模型分离出深层信息,然后使用类分解
  • 使用复杂优化器进行训练
  • 使用类组合器去精确分类

类分解器将每一个类分为 k 个子类,并进行单独训练。然后通过类组合器恢复。

3.2 深度特征挖掘
使用 ImageNet 预训的 CNN 模型,通过浅层精调,这样构建特征空间。然后使用 PCA 将高维度信息转换为低维度信息,这对于产生等价类非常有用,并且可以降低空间存储要求,提升效率。

3.3 类分解器
特征空间设为 2D 矩阵$A$,$L$是类别,$m$是特征数量,$k$是类数量,$n$是图片数量。为了完成类分解,使用 k-means 做聚类,将类别划分为等价子类。所有的原标签按照新分出的类别,按照欧几里得距离计算最近的类别然后重新分配标签。这样新获得的数据集称为 $B$。

3.4 Transfer Learning
本论文使用通过 ResNet 预训练的模型,并具有优秀的表现。作者选择仅变动 low-level 的层数而固定住 high-level 层

参数设定:

参数
学习率 除最后一层外设定为 0.0001,最后一层设定为 0.01
批大小 64
Epoch 256
Weight Decay 0.01
Momentum value 0.9

因为数据很少,使用 SGD 存在不稳定性,所以使用批训练。损失函数为 cross-entropy。

3.5 Evaluation 与重组
在重组阶段,被赋予的新标签会恢复原来的标签,用来衡量模型的性能。这里使用的量为 Accuracy,Specificity, Sensitivity。各自的定义是:($TN$ 为 true negative。其馀的标记就足够明显了。)

事实上使用的是多类别的判别方法。

4. 实验部分

4.1 使用的数据集

  • 数据集包含两个部分:Normal CXRs (80 个正常样本)
  • Chest X-ray images,脑筋 105 个 COVID-19 样本和 11 个 SARS 样本。

经过了数据增强。使用的上下左右翻转等等策略。最后获得了总计 1764 个样本。

4.2 基于深度学习的类分解
使用经过浅层训练的 AlexNet 预训网络,用以抽离原本三个类的特征。然后设定 $k=2$,使用 k-means,对类进行划分,将一个类别进一步划分为 2 个子类。最后得到 norm1, norm2, COVID191,COVID192, SARS1, SARS2 六类。

4.3 结果

  • Acc:95.12%
  • SN:97.91%
  • SP:91.87%

使用 70%的数据进行训练,30%的数据进行 Eval。

5. 讨论

训练 CNN 有两种策略。可以使用 end-to-end 的方法,需要大量的标注数据;或者使用迁移学习,仅需要有限的数据就能够完成任务。

6. 读后

感觉是很平庸的一篇文章,将各种预训的结果拼在一起回避数据量过少的问题。唯一可以注意的地方是采用的 decomposition 方法,但这个方法也不是初创的。总体而言像是一个缝合怪。不过就研究方法和使用的数据集构造值得学习。